Skip to content

[PWGHF] TrackIndexSkimCreator: hoist collision-invariant slices out of the 2/3-prong loops#16666

Open
ktf wants to merge 1 commit into
AliceO2Group:masterfrom
ktf:pr16666
Open

[PWGHF] TrackIndexSkimCreator: hoist collision-invariant slices out of the 2/3-prong loops#16666
ktf wants to merge 1 commit into
AliceO2Group:masterfrom
ktf:pr16666

Conversation

@ktf

@ktf ktf commented Jun 15, 2026

Copy link
Copy Markdown
Member

In run2And3Prongs the negative-track index slice was rebuilt inside the positive-track loop, and the D* soft-pion slices inside the (pos,neg) pair body, though all three depend only on the collision. Hoist the neg-track slice to collision scope, and lazily materialize the soft-pion slices once per collision via std::optional. Pure loop-invariant code motion.

@github-actions github-actions Bot added the pwghf PWG-HF label Jun 15, 2026
@github-actions github-actions Bot changed the title Hoist slice creation outside the inner loop [PWGHF] Hoist slice creation outside the inner loop Jun 15, 2026
@github-actions

Copy link
Copy Markdown

O2 linter results: ❌ 0 errors, ⚠️ 8 warnings, 🔕 7 disabled

@vkucera vkucera left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Please add the file name in the PR title to specify the scope of the changes.

@ktf ktf changed the title [PWGHF] Hoist slice creation outside the inner loop [PWGHF] Cut mixed-event pairing CPU ~35% by hoisting the per-window slice Jun 15, 2026
@ktf

ktf commented Jun 15, 2026

Copy link
Copy Markdown
Member Author

@vkucera improved. Actual validation of the code done at https://alimonitor.cern.ch/hyperloop/view-wagon/57243/test-statistics

@vkucera

vkucera commented Jun 15, 2026

Copy link
Copy Markdown
Collaborator

@vkucera improved. Actual validation of the code done at https://alimonitor.cern.ch/hyperloop/view-wagon/57243/test-statistics

I think you confused it with another PR.

@ktf

ktf commented Jun 15, 2026

Copy link
Copy Markdown
Member Author

yes, indeed.

@ktf

ktf commented Jun 15, 2026

Copy link
Copy Markdown
Member Author

The description was meant for #16663

@ktf ktf changed the title [PWGHF] Cut mixed-event pairing CPU ~35% by hoisting the per-window slice [PWGHF] TrackIndexSkimCreator: hoist collision-invariant slices out of the 2/3-prong loops Jun 15, 2026
@ktf ktf requested a review from vkucera June 15, 2026 19:34
@alibuild

alibuild commented Jun 19, 2026

Copy link
Copy Markdown
Collaborator

Error while checking build/O2Physics/o2 for 0c38cad at 2026-06-19 03:16:

## sw/BUILD/O2Physics-latest/log
2026-06-19T03:13:46.578+0200 [16749:140518981971584] [buildboxcommon_grpcretrier.cpp:177] [ERROR] Retry limit (0) exceeded for "ByteStream.Read()", last gRPC error was [14: Socket closed]
2026-06-19T03:13:47.816+0200 [16749:140518981971584] [executioncontext.cpp:739] [ERROR] Failed to download output blob ec5b3161a275bd364d46631c84daa29dbd655c34046b1c1ceb9069394cfa3297: 14: Socket closed
2026-06-19T03:13:46.578+0200 [16706:140099824033408] [buildboxcommon_grpcretrier.cpp:177] [ERROR] Retry limit (0) exceeded for "ByteStream.Read()", last gRPC error was [14: Socket closed]
2026-06-19T03:13:47.816+0200 [16706:140099824033408] [executioncontext.cpp:739] [ERROR] Failed to download output blob 2827f8d2fae80e01a06615411002fcc96f69e6ebb2db28051e5a2a84b6002ee3: 14: Socket closed
2026-06-19T03:13:46.578+0200 [16474:140086752059008] [buildboxcommon_grpcretrier.cpp:177] [ERROR] Retry limit (0) exceeded for "ByteStream.Read()", last gRPC error was [14: Socket closed]
2026-06-19T03:13:47.817+0200 [16474:140086752059008] [executioncontext.cpp:739] [ERROR] Failed to download output blob a896e3d266f5c5600a4c957c5d4ec3e2ac00195397709b46da50dc6f69993192: 14: Socket closed
2026-06-19T03:13:46.578+0200 [16727:140298209943168] [buildboxcommon_grpcretrier.cpp:177] [ERROR] Retry limit (0) exceeded for "ByteStream.Read()", last gRPC error was [14: Socket closed]
2026-06-19T03:13:47.816+0200 [16727:140298209943168] [executioncontext.cpp:739] [ERROR] Failed to download output blob 35553a1b61816e06718447f0ff13ef40f055c8717bc237afd401398aa9f7707d: 14: Socket closed
2026-06-19T03:13:46.578+0200 [16451:139674849349248] [buildboxcommon_grpcretrier.cpp:177] [ERROR] Retry limit (0) exceeded for "ByteStream.Read()", last gRPC error was [14: Socket closed]
2026-06-19T03:13:47.817+0200 [16451:139674849349248] [executioncontext.cpp:739] [ERROR] Failed to download output blob d55447f546fba9932a1e7e276db3e2fcc74794f2f2a94bd5b0ee54e1ac9652cd: 14: Socket closed
2026-06-19T03:13:46.578+0200 [16789:140102806167168] [buildboxcommon_grpcretrier.cpp:177] [ERROR] Retry limit (0) exceeded for "BatchReadBlobs()", last gRPC error was [14: Socket closed]
2026-06-19T03:13:47.817+0200 [16789:140102806167168] [buildboxcommon_grpcretrier.cpp:177] [ERROR] Retry limit (0) exceeded for "ByteStream.Read()", last gRPC error was [14: failed to connect to all addresses; last error: UNKNOWN: ipv4:127.0.0.1:8980: Failed to connect to remote host: Connection refused]
2026-06-19T03:13:47.818+0200 [16789:140102806167168] [executioncontext.cpp:739] [ERROR] Failed to download output blob 268db69fa7085dca73afafc3547a3a4928227d1cc002bb407d83c1d09248b030: 14: failed to connect to all addresses; last error: UNKNOWN: ipv4:127.0.0.1:8980: Failed to connect to remote host: Connection refused
2026-06-19T03:13:46.578+0200 [16478:140060666244736] [buildboxcommon_grpcretrier.cpp:177] [ERROR] Retry limit (0) exceeded for "ByteStream.Read()", last gRPC error was [14: Socket closed]
2026-06-19T03:13:47.817+0200 [16478:140060666244736] [executioncontext.cpp:739] [ERROR] Failed to download output blob e5026e931ec3f38f54f6dcbf666aee0834d696f5da20544aa65da754ef31bbc3: 14: Socket closed
2026-06-19T03:13:46.578+0200 [16679:139677464219264] [buildboxcommon_grpcretrier.cpp:177] [ERROR] Retry limit (0) exceeded for "ByteStream.Read()", last gRPC error was [14: Socket closed]
2026-06-19T03:13:47.817+0200 [16679:139677464219264] [executioncontext.cpp:739] [ERROR] Failed to download output blob caef088ed49eb6aa33a833b3b7c67e15b0a2201b08c89c66cd8c2aef2488fbc0: 14: Socket closed
2026-06-19T03:13:46.578+0200 [16476:140634421132928] [buildboxcommon_grpcretrier.cpp:177] [ERROR] Retry limit (0) exceeded for "ByteStream.Read()", last gRPC error was [14: Socket closed]
2026-06-19T03:13:47.818+0200 [16476:140634421132928] [executioncontext.cpp:739] [ERROR] Failed to download output blob b9d598f589eb7789d7b9de0efa72bb04de76f4078b72825805c6e724110fbcb5: 14: Socket closed
2026-06-19T03:13:46.578+0200 [16635:140664690970240] [buildboxcommon_grpcretrier.cpp:177] [ERROR] Retry limit (0) exceeded for "ByteStream.Read()", last gRPC error was [14: Socket closed]
2026-06-19T03:13:47.818+0200 [16635:140664690970240] [executioncontext.cpp:739] [ERROR] Failed to download output blob dd48973b1660e094e0ab64a0247f4eb083457e0f94b3f23a8e3e38fe2843b65b: 14: Socket closed
2026-06-19T03:13:46.578+0200 [16475:139900778376832] [buildboxcommon_grpcretrier.cpp:177] [ERROR] Retry limit (0) exceeded for "ByteStream.Read()", last gRPC error was [14: Socket closed]
2026-06-19T03:13:47.818+0200 [16475:139900778376832] [executioncontext.cpp:739] [ERROR] Failed to download output blob 897c3997e6eab7ab2c7e2f350098cb5ce5af20a9673002a971d06dfed6f7a791: 14: Socket closed
2026-06-19T03:13:46.578+0200 [16587:140425513401984] [buildboxcommon_grpcretrier.cpp:177] [ERROR] Retry limit (0) exceeded for "ByteStream.Read()", last gRPC error was [14: Socket closed]
2026-06-19T03:13:47.818+0200 [16587:140425513401984] [executioncontext.cpp:739] [ERROR] Failed to download output blob 890d80a7d603ae864567be49068ad2a3060bccd4d399d09d7f6f9c7b84e4af44: 14: Socket closed
2026-06-19T03:13:46.578+0200 [16297:140611384581760] [buildboxcommon_grpcretrier.cpp:177] [ERROR] Retry limit (0) exceeded for "ByteStream.Read()", last gRPC error was [14: Socket closed]
2026-06-19T03:13:47.820+0200 [16297:140611384581760] [executioncontext.cpp:739] [ERROR] Failed to download output blob 09ef7150a21e95e01dd601bd2a232a16ecfbccc524da627abce025a87681c625: 14: Socket closed
2026-06-19T03:13:46.578+0200 [16477:140330732809856] [buildboxcommon_grpcretrier.cpp:177] [ERROR] Retry limit (0) exceeded for "ByteStream.Read()", last gRPC error was [14: Socket closed]
2026-06-19T03:13:47.819+0200 [16477:140330732809856] [executioncontext.cpp:739] [ERROR] Failed to download output blob d45a63842bda25ccde61158753b4c52cce7cab3c1795171828965da44fadcadb: 14: Socket closed
2026-06-19T03:13:46.578+0200 [16296:140581273558656] [buildboxcommon_grpcretrier.cpp:177] [ERROR] Retry limit (0) exceeded for "ByteStream.Read()", last gRPC error was [14: Socket closed]
2026-06-19T03:13:47.819+0200 [16296:140581273558656] [executioncontext.cpp:739] [ERROR] Failed to download output blob 4fb08b988affb7d9dae9e0803bfc74359ed36e2f1bb401d0b66b87ef2321d679: 14: Socket closed
2026-06-19T03:13:46.578+0200 [16193:140314281496192] [buildboxcommon_grpcretrier.cpp:177] [ERROR] Retry limit (0) exceeded for "ByteStream.Read()", last gRPC error was [14: Socket closed]
2026-06-19T03:13:47.819+0200 [16193:140314281496192] [executioncontext.cpp:739] [ERROR] Failed to download output blob 7a58851acd1bf5a96990b91b48cfe108698488eb27afd2023e2e53c30df2c3c1: 14: Socket closed
2026-06-19T03:13:46.578+0200 [16338:140660065668736] [buildboxcommon_grpcretrier.cpp:177] [ERROR] Retry limit (0) exceeded for "ByteStream.Read()", last gRPC error was [14: recvmsg:Connection reset by peer]
2026-06-19T03:13:47.819+0200 [16338:140660065668736] [executioncontext.cpp:739] [ERROR] Failed to download output blob 264b93735d78584152137357974e32c7f56237a0bfedf6e040eab82fb724c461: 14: recvmsg:Connection reset by peer
2026-06-19T03:13:46.578+0200 [16339:139947889557120] [buildboxcommon_grpcretrier.cpp:177] [ERROR] Retry limit (0) exceeded for "ByteStream.Read()", last gRPC error was [14: Socket closed]
2026-06-19T03:13:47.820+0200 [16339:139947889557120] [executioncontext.cpp:739] [ERROR] Failed to download output blob 85a2b5e009f3e43f299853645d2926c4a041493a5ec627a7092c9a012ca92ec9: 14: Socket closed
2026-06-19T03:13:46.578+0200 [16378:139880795840128] [buildboxcommon_grpcretrier.cpp:177] [ERROR] Retry limit (0) exceeded for "ByteStream.Read()", last gRPC error was [14: Socket closed]
2026-06-19T03:13:47.821+0200 [16378:139880795840128] [executioncontext.cpp:739] [ERROR] Failed to download output blob cd9ae81ddca0624ff61423eab2208332b5c3922dd39983f5c6d0460759d1a76a: 14: Socket closed
2026-06-19T03:13:46.578+0200 [16042:140139724586624] [buildboxcommon_grpcretrier.cpp:177] [ERROR] Retry limit (0) exceeded for "ByteStream.Read()", last gRPC error was [14: Socket closed]
2026-06-19T03:13:47.822+0200 [16042:140139724586624] [executioncontext.cpp:739] [ERROR] Failed to download output blob 88e3bc2328fb915ef503269fb4e4ec1423f81d72f844ffde0d5645d93b35abf1: 14: Socket closed
2026-06-19T03:13:46.578+0200 [16136:139757102562944] [buildboxcommon_grpcretrier.cpp:177] [ERROR] Retry limit (0) exceeded for "ByteStream.Read()", last gRPC error was [14: Socket closed]
2026-06-19T03:13:47.822+0200 [16136:139757102562944] [executioncontext.cpp:739] [ERROR] Failed to download output blob c14ce6bbdf131611abc6ba58427475c64ebd3236e2b6e749f46703a70216c737: 14: Socket closed
2026-06-19T03:13:46.578+0200 [16238:139660886949504] [buildboxcommon_grpcretrier.cpp:177] [ERROR] Retry limit (0) exceeded for "ByteStream.Read()", last gRPC error was [14: Socket closed]
2026-06-19T03:13:47.823+0200 [16238:139660886949504] [executioncontext.cpp:739] [ERROR] Failed to download output blob 8922ed986c2e9fa85e7514e0e2ace5c397577beb6f45f0aee5d263b28d0df5aa: 14: Socket closed
2026-06-19T03:13:46.578+0200 [16824:140028152798848] [buildboxcommon_grpcretrier.cpp:177] [ERROR] Retry limit (0) exceeded for "ActionCache.GetActionResult()", last gRPC error was [14: Socket closed]
2026-06-19T03:13:46.578+0200 [16824:140028152798848] [executioncontext.cpp:544] [ERROR] Error while querying action cache at "http://localhost:8980": 14: Socket closed
2026-06-19T03:13:46.578+0200 [16851:140341731110528] [buildboxcommon_grpcretrier.cpp:177] [ERROR] Retry limit (0) exceeded for "ActionCache.GetActionResult()", last gRPC error was [14: failed to connect to all addresses; last error: UNAVAILABLE: ipv4:127.0.0.1:8980: recvmsg:Connection reset by peer]
[0 more errors; see full log]

Full log here.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

pwghf PWG-HF

Development

Successfully merging this pull request may close these issues.

3 participants